<?php
class Wmp_Lib
{
	
	public function getCurrentRole()
	{
		$role = 'guest';
		$userdata = new Zend_Session_Namespace('userdata');
		if ($userdata->userrole)
			$role = $userdata->userrole;

		return $role;
	}
	
	public function sendCurrentUriToFriend()
	{
		
	}
	
	
	public function printCurrentUriToPdf()
	{
		
	}
	
	//FIXME:cette fonction retour l'url correspondant aux parametres donnés
	//si l'utilisateur a le droit sur l'action
	//sinon renvoi rien (null). Passer cette fonction dans view helper plugin
	public function getUrl($module="default",$controller="index",$action="index")
	{
		
	}
	
	
	static function getLocal()
	{	
		$userdata = new Zend_Session_Namespace('userdata');		
		return $userdata->local;
	}
	
	static function checkLanguage($language) {

    	$languages = explode (",",zend_registry::get('config')->languageList );
        
        if( $language != null && in_array($language, $languages) ) {
			//echo "kjkjk"; 
        	//theses variables havent been setted earlier by the viewsetup plugin 
        	//in its dispatchLoopStartup function
        	$moduleName = Zend_Registry::get('module');
        	$controllerName = Zend_Registry::get('controller');
        	$actionName = Zend_Registry::get('action');
        	
        	//Vérifie si l'action est restreinte à un countrycode
        	$actionParams = new Wmp_Model_ActionparamsTable();
    		$actionParams = $actionParams->getRow($moduleName , $controllerName , $actionName);
        	
    		//L'action est restreinte
    		if( !$actionParams->countrycodes || $actionParams->countrycodes=='all')
    				return true;
			
    		//L'action est restreinte
        	
    		//L'utilisateur n'est pas connecté		
			$auth = Zend_Auth::getInstance();
    		if ( ! $auth->hasIdentity() ) {
    			return false;
    		}

    		//vérifier en basse de données si l'utilisateur a droit de voir ce language
    		$user = $auth->getIdentity();
    		
    		$userCountryCodes = explode(";", $user->countrycodes);
    		$actionCountrycodes =  explode(";", $actionParams->countrycodes);
    		
    		if(in_array($language, $userCountryCodes) && in_array($language, $actionCountrycodes))
    			return true;    		
        }
            return false;                
    }
	
	/**
	 * Retourne l'url tapé dans la barre d'adresse
	 *
	 * @return Retourne l'url tapé dans la barre d'adresse
	 */
	static function curPageURL() {
		 $pageURL = 'http';
		 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
		 $pageURL .= "://";
		 if ($_SERVER["SERVER_PORT"] != "80") {
		  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
		 } else {
		  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
		 }
		 return $pageURL;
	}
	
	/**
	 * Convertie une chaine de caractère en caractères code html, et utf8
	 *
	 * @param string $text
	 * @return chaine code en html utf8
	 */
	static function htmlUtf8($text)
    {
		$return = htmlentities($text, ENT_QUOTES,'UTF-8');
		return $return;
    }		
}
